package com.activiti.ActivitiUtils.payload;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * create by chongyahhh
 * 2020/4/4
 */
public class ProcessInstancesPayload {
    private String id;
    private String processDefinitionKey;
    private String businessKey;
    private String processDefinitionId;
    private Set<String> processDefinitionKeys;
    private Set<String> processDefinitionIds;
    private boolean suspendedOnly;
    private boolean activeOnly;
    private Map<String,Object> variables;
    private String userId;
    private List<String> variableNames;

    public ProcessInstancesPayload() {
    }

    public ProcessInstancesPayload(String id, String processDefinitionKey, String businessKey, String processDefinitionId, Set<String> processDefinitionKeys, Set<String> processDefinitionIds, boolean suspendedOnly, boolean activeOnly, Map<String, Object> variables, String userId, List<String> variableNames) {
        this.id = id;
        this.processDefinitionKey = processDefinitionKey;
        this.businessKey = businessKey;
        this.processDefinitionId = processDefinitionId;
        this.processDefinitionKeys = processDefinitionKeys;
        this.processDefinitionIds = processDefinitionIds;
        this.suspendedOnly = suspendedOnly;
        this.activeOnly = activeOnly;
        this.variables = variables;
        this.userId = userId;
        this.variableNames = variableNames;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getBusinessKey() {
        return businessKey;
    }

    public void setBusinessKey(String businessKey) {
        this.businessKey = businessKey;
    }

    public boolean isSuspendedOnly() {
        return suspendedOnly;
    }

    public void setSuspendedOnly(boolean suspendedOnly) {
        this.suspendedOnly = suspendedOnly;
    }

    public boolean isActiveOnly() {
        return activeOnly;
    }

    public void setActiveOnly(boolean activeOnly) {
        this.activeOnly = activeOnly;
    }

    public String getProcessDefinitionKey() {
        return processDefinitionKey;
    }

    public void setProcessDefinitionKey(String processDefinitionKey) {
        this.processDefinitionKey = processDefinitionKey;
    }

    public Set<String> getProcessDefinitionKeys() {
        return processDefinitionKeys;
    }

    public void setProcessDefinitionKeys(Set<String> processDefinitionKeys) {
        this.processDefinitionKeys = processDefinitionKeys;
    }

    public Set<String> getProcessDefinitionIds() {
        return processDefinitionIds;
    }

    public void setProcessDefinitionIds(Set<String> processDefinitionIds) {
        this.processDefinitionIds = processDefinitionIds;
    }

    public Map<String, Object> getVariables() {
        return variables;
    }

    public void setVariables(Map<String, Object> variables) {
        this.variables = variables;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getProcessDefinitionId() {
        return processDefinitionId;
    }

    public void setProcessDefinitionId(String processDefinitionId) {
        this.processDefinitionId = processDefinitionId;
    }

    public List<String> getVariableNames() {
        return variableNames;
    }

    public void setVariableNames(List<String> variableNames) {
        this.variableNames = variableNames;
    }

    public ProcessInstancesPayload withId(String id) {
        this.id = id;
        return this;
    }

    public ProcessInstancesPayload withBusinessKey(String businessKey) {
        this.businessKey = businessKey;
        return this;
    }

    public ProcessInstancesPayload withSuspendedOnly(boolean suspendedOnly) {
        this.suspendedOnly = suspendedOnly;
        return this;
    }

    public ProcessInstancesPayload withActiveOnly(boolean activeOnly) {
        this.activeOnly = activeOnly;
        return this;
    }

    public ProcessInstancesPayload withProcessDefinitionKey(String processDefinitionKey) {
        this.processDefinitionKey = processDefinitionKey;
        return this;
    }

    public ProcessInstancesPayload withProcessDefinitionKeys(Set<String> processDefinitionKeys) {
        this.processDefinitionKeys = processDefinitionKeys;
        return this;
    }

    public ProcessInstancesPayload withProcessDefinitionIds(Set<String> processDefinitionIds) {
        this.processDefinitionIds = processDefinitionIds;
        return this;
    }

    public ProcessInstancesPayload withVariables(Map<String, Object> variables) {
        this.variables = variables;
        return this;
    }

    public ProcessInstancesPayload withUserId(String userId) {
        this.userId = userId;
        return this;
    }

    public ProcessInstancesPayload withProcessDefinitionId(String processDefinitionId) {
        this.processDefinitionId = processDefinitionId;
        return this;
    }

    public ProcessInstancesPayload withVariableNames(List<String> variableNames) {
        this.variableNames = variableNames;
        return this;
    }

}
